سوپرکامپیوترهایی را که در دهه? ???? ساخته و ارائه شدند سیمور کری از بنگاه کنترل اطلاعات (CDC) طراحی کرده بود و تا دهه? ???? هم بازار در دست این سوپرکامپیوترها بود. زمانی که سیمورکری جدا شد و رفت تا شرکت خودش به نام تحقیقات سیمور را راه اندازی و اداره کند با طرحهای جدیدش بازار سوپرکامپیوترها را در دست گرفت و تا پنج سال (????-????) یکه تاز بازار ابرمحاسبه بود. خود کری هرگز واژه? سوپرکامپیوتر را استفاده نکرد و کمتر کسی به خاطر دارد که او تنها کلمه? کامپیوتر را استفاده میکرد. در سال ???? هم زمان با ظهور بازار مینی کامپیوترها که یک دهه قبل به وجود آمده بودند تعداد زیادی رقبای کوچک وارد بازار شدند. اما بسیاری از اینها در دهه? ???? با بروز مبارزات بازار سوپرکامپیوتر حذف شدند. امروزه سوپرکامپیوترها طراحیهای سفارشی کم نظیری هستند که شرکتهای صنعتی مثل IBM و hp تولید میکنند. همان شرکت هایی که بسیاری کمپانیهای دهه? ?? را خریدند تا از تجربه شان استفاده کنند. البته بنگاه کری هنوز به صورت حرفهای به ساخت سوپرکامپیوتر ادامه میدهد. اصطلاح سوپرکامپیوتر چندان پایدار و ثابت نیست. ممکن است سوپرکامپیوتر امروز فردا تبدیل به یک کامپیوتر معمولی شود. اولین دستگاههای CDC پردازندههای نردهای (اسکالر) خیلی سریع بودند؛ ده برابر سریع تر از سریعترین ماشینهای سیر شرکت ها. در دهه? ???? اکثر سوپرکامپیوترها به انجام محاسبات برداری پرداختند و بسیاری رقبا و تولید کنندگان جدید پردازندههای خودشان را با قیمت پایین با همان روش کار به بازار ارائه کردند تا در بازار حاضر شوند. در ابتدا و میانه? دهه? ???? ماشین هایی با پردازندههای اندک برداری که به صورت موازی کار میکردند تبدیل به استاندارد شدند. هر ماشینی معمولاً چهارده تا شانزده پردازنده? برداری داشت. در اواخر ده? ???? و ???? مجددا توجهها از پردازندههای برداری به سیستمهای پردازنده? موازی معمول معطوف شد که هزاران ریزپردازنده معمولی داشتند و برخی از انها نمونههای آماده و برخی هم سفارشهای مشتریان بودند (در اصطلاح کاری این را حمله? میکروهای کشنده می نامند). امروزه طرحهای موازی بر اساس میکروپروسسورهای آماده? نوع سرور ساخته میشوند از جمله power pc، Itanium، x??-?? و مدرنترین سوپرکامپیوترها بسته (کلاستر)های کامپیوتری با تنظیمات دقیق هستند که پردازندههای کم حجم و رابطهای داخلی سفارشی و بسته به مورد دارند.
ابزارهای نرمافزاری
ابزارهای نرمافزاری برای پردازش توزیع شده شامل APIهای استاندارد از جمله MPI، PVM و ابزارهای نرمافزاری متن باز ازجمله Beowulf، Warewulf، Open mosix هستند که ساختن یک سوپرکامپیوتر را از تعدادی سرورها یا واحدهای کاری ممکن میکنند. تکنولوژی هایی مثل ZerConf (Rendez-Vous/Bonjourقرار ملاقات/سلام) برای ساخت بستههای کامپیوتری موردنیاز برای نرمافزارهای تخصصی مثل shake اپل هستند. در علوم کامپیوتر هنوز یک زبان برنامه نویسی ساده برای ابرکامپیوترها نیست و موضوع خوبی برای تحقیق خواهد بود. برنامههای کاربردی هزاران دلار هزینه داشت اما امروزه به لطف جامعه? متن باز (که گاهی در این زمینه تکنولوژیهای جالب توجهی به وجود میآورد) رایگان هستند.
سوپرکامپیوترها با رمها و کار آییهای بسیاری که دارند معمولاً برای عملیات حساس روی محاسبه از جمله مسائل فیزیک وانتوم، هواشناسی، جست جوی آب و هوا (از جمله تحقیق در مورد گرم شدن کره? زمین) مدل سازی مولکولی (مطالعه? ساختارها و محتویات ترکیبات شیمیایی، ماکرومولکولهای بیولوژیکی، پلیمرها و بلورها) شبیه سازیهای فیزیکی (مثل شبیه سازی هواپیماها در تونلهای هوا، شبیه سازی انفجار سلاحهای هستهای و تحقیق در مورد پیوست هسته ای) تحلیل مخفی و ... استفاده میشوند. دانشگاههای بزرگ، مراکز نظامی و آزمایشگاههای تحقیقات علمی بزرگترین کاربران آن هستند. نوع خاصی از مسایل به نام مسایل بسیار مشکل، مسایلی که حل کامل شان نیازمند منابع کامپیوتری نیمه بی پایان هستند. یک مطلب قابل توجه در این مقال تفادوت بین محاسبه? توانایی محاسبه و ظرفیت است چنان که گراهام و همکارانش بررسی کرده اند. محاسبه? توانایی یعنی استفاده از ماکزیمم توان محاسبه برای حل یه مساله? بزرگ در کمترین زمان. یک سیستم توانایی اغلب میتواند مساله? را با حجم و پیچیدگی که هیچ کامپیوتر دیگری نمیتواند حل کند حل نماید. اما محاسبه? ظرفیت یعنی استفاده از توان محاسبه? مقرون به صرفه و کارآمد برای حل مسایل کم و بیش بزرگ یا تعداد زیادی مسایل کوچک یا آمادگی برای اجرا روی سیستم توانایی استفاده میشود.
سوپرکامپیوتر هایی که پردازندههای سفارشی داشتند قبلا سرعتی که روی کامپیوترهای معمولی داشتند را از طراحیهای ابتکاری شان به دت میآوردند که اجازه میداد مثل یک مهندسی به هم پیچیده چند کار را به صورت موازی انجام دهند. آنها را تنها برای انواع مشخصی از محاسبات مثل محاسبات عددی استفاده میکردند و در محاسبات کلی تر کامپیوتری ضعیف عمل میکردند. سلسله مراتب حافظه? آنها به دقت طراحی میشد تا دائما اطلاعات و دستور العمل در دسترس پردازنده قرار گیرد. در اصل عمدهترین تفاوت بین سوپرکامپیوترهاو کامپیوترهای کندتر در سلسله مراتب حافظه شان است. سیستم ورودی/خروجی آنها برای پهنای باندهای بالا با توقف (latency) بسیار پایین طراحی شده است چرا که اساسا ابرکامپیوترها برای پردازش انتقالات طراحی نشده اند. در این جا هم مقل هر سیستم موازی قانون آمدال صدق میکند. طراحیهای مختلف سوپرکامپیوترها برای حذف تتابع (serialization) نرمافزارها تلاش بسیاری میکنند و برای رفع مشکلات و تنگناهای باقی مانده و تسریع آنها از سختافزار استفاده میکنند.
تکنولوژیها و دشواریهای سوپرکامپیوترها
تکنولوژیهای تولید شده برای سوپرکامپیوترها شامل اینها میشوند:
تکنیکهای پردازش
تکنیکهای پردازش برداری اوائل برای سوپرکامپیوترها طراحی و ایجاد شده اند و برای کاربردهای سطح بالا و تخصصی استفاده میشوند. این تکنیکها به وفور وارد بازار معماری DSP و راهکارهای پردازش SIMD کامپیوترهای همه منظوره هم شده اند. خصوصا کنسولهای جدید بازیهای کامپیوتری از SIMD خیلی استفاده میکنند و به این دلیل است که برخی تولیدکنندگان ادعا میکنند ماشینهای بازی شان سوپرکامپیوتر هستند. واقعیت این است که برخی کارتهای گرافیک توان محاسبه? چندین ترافلاپ (teraFLOP) را دارند. اولین پردازشهای کامپیوتری طبیعتی داشت که هدف خاصی را دنبال میکرد و کاربردهایی که میتوان برای این قدرت داشت را محدود میکرد با پیش رفته تر شدن بازیهای کامپیوتری واحدهای پردازش گرافیکی (GPUها) متحول شده است به عنوان پردازندههای برداری همه منظوره مفیدتر شده اند و یک دیسیپلین کامل علوم کامپیوتری به وجود آمد تا از این توانایی استفاده کند به نام محاسبههای همه منظوره بر واحدهای پردازش گرافیکی(GPGPU).
سیستمعامل سوپرکامپیوترها که اغلب امروزه انواعی از لینوکس و یونیکس هستند و اگر پیچیده تر از ماشینهای کوچک تر نباشند همان قدر پیچیده هستند. ظاهری که کاربر می بیند ساده تر است چون سازندگان OSها منابع برتامه نویسی کمتری برای سرمایه گذاری بر بخشهای غیرضروری OSها (یعنی بخش هایی که مستقیما به بهترین کاربرد سختافزار نمیشود) دارند. دلیل اصلی آن این است که این کامپیوترها میلیونها دلار قیمت دارند اما بازار خریدشان بسیار کوچک است لذا بودجههای R&D شان اغلب محدود است. وجود یونیکس و لینوکس اجازه میدهد ظاهر کاربرد (user interface) نرمافزار دسکتاپ معمولی دوباره مورد استفاده قرار بگیرد. جالب آنجا ست که در تاریخ صنعت سوپرکامپیوترها این روند هم چنان ادامه پیدا کرده است و رهبران قدیمی این تکنولوژی از جمله Silicon Graphics در برابر امثال nVIDIA عقب نشسته اند چرا که اینها میتوانند محصولات ابتکاری ارزان و پرفایده و پرکاربرد را به لطف مشتریان بسیارشان که R&D آنها را تامین میکنند تولید نمایند. از نظر تاریخی تا ایتدا و میانه? دهه? سوپرکامپیوترها اغلب سازگاری گروه دستورات و قابلیت جابجایی کدها را فدای عملکرد و سرعت پردازش و دست رسی به حافظه? کامپیوتر میکردند. اغلب سوپرکامپیوترها تا به امروز برخلاف کامپیوترهای گران قیمت فنی high end main frames سیستمهای عامل بسیار متفاوتی دارند. Cray-? به تنهایی شش OS مخصوص خودش را داشت که جامعه? کامپیوتر هیچ خبری از آنها نداشت. مشابه آن کامپایلرهای برداری کننده و مواز یکننده? بسیاری هم برای فرترن موجد بود. اگر به خاطر سازگاری گروه دستورات اولیه بین Cray-? و Cray x-mp و پذیرش انواع OSهای یونیکس مثل CrayUnicos و لینوکس نبود این اتفاق برای ETA-?? هم می افتاد. به همین دلیل در آینده سیستم هایی با بالاترین کاربرد احتمالا رنگ و بویی از یونیکس خواهند داشت اما با خاصیتهای مخصوص سیستم ناسازگار خصوصا برای سیستمهای بسیار فنی و گران قیمت با امکانات امن مطمئن.
معماری موازی سوپرکامپیوترها ایجاب میکند تکنیکهای برنامه نویسی خاصی برای سرعت بالایشان استفاده شود. کامپایلرهای هدفمند فرتران معمولاً میتوانند کدهای سریع تری از C یا C++ تولید کنند. به این دلیل فرتران همچنان بهترین انتخاب برای برنامه نویسی علمی و البته برای اکثر برنامههایی که روی سوپرکامپیوترها جرا میشود باقی می ماند. برای بهره وری از موازی بودن سوپرکامپیوترها، محیطهای برنامه نویسی خاصی برای برنامه نویسی آنها استفاده میشود از جمله برای بستههای کامپیوتری پراکنده و دور از هم PVM و MPI و برای ماشینهای حافظه اشتراکی بسیار نزدیک به هم OpenMP استفاده میشود.
چنان که در فهرست نوامبر ???? می بینیم ده کامپیوتر برتر فهرست پانصد کامپیوتر برتر (و البته بسیاری کامپیوتر دیگر در این لیست) معماری سطح بالا اما مشابهی دارند. هر کدام مجموعهای از مولتی پروسسورهای تماما SIMD هستند. هر سوپرکامپیوتری بسته به تعداد مولتی پروسسورهای مجموعه، تعداد پروسسورهای هر مولتی پروسسور و نیز تعداد عملیاتی که میتواند به صورا هم زمان در هر پروسسور SIMD انجام بدهد از سایر سوپرکامپیوترها متفاوت میشود. در این سلسله چنین چیزهایی داریم :
طبق بررسی ماه نوامبر سال ???? قانون مور (Moore) و اقتضا مقیاسی (economy of scale) فاکتور اصلی در طراحی سوپرکامپیوترها هستند. یک PC دسکتاپ مدرن امروزه قوی تر از یک سوپرکامپیوتر پانزده سال پیش است و این طراحی هایی که سابقا اجازه میداد سوپرکامپیوترها از ماشینهای دسکتاپ بهتر عمل کنند در طراحی PCها استفاده میشوند. به علاوه هزینههای ایجاد تراشهها (چیپchip) باعث میشود طراحی تراشههای سفارشی برای کاربرد محدود مقرون به صرفه باشد بلکه تولید انبوه تراشهها را تایید میکند که مشتری داشته باشند و هزینه? تولید را پوشش بدهد. یک واحد کاری مدل هسته چهارگانه Xeon با عملکرد GHz???? از یک سوپرکامپیوتر C?? کری چند میلیون دلاری که در دهه? ???? استفاده میشد بهتر است و حجم بسیار بالایی از کار که در دهه? ???? به چنین سوپرکامپیوتری نیاز داشت امروزه با یک واحد کاری کمتر از ???? دلاری انجام میشود. مسایلی که سوپرکامپیوترها آنها را حل میکردند اکثرا باید موازی سازی میشدند (یعنی تقسیم کار بزرگ به چند کار کوچک تر برای انجام هم زمان) آن هم به قطعات بزرگ تا حجم اطلاعاتی که بین واحدهیای پردازنده? مستقل انتقال پیدا یم کرد کاهش پیدا کند. این است که میتوان به جای بسیاری سوپرکامپیوترهای سنتی از بستههای طراحی استاندارد بهره برد که با برنامه ریزی قابلیت عملکرد یگانه و همگرا را دارند
تصویر2ابر رایانه فوق سریع